/** <a href="http://www.cpupk.com/decompiler">Eclipse Class Decompiler</a> plugin, Copyright (c) 2017 Chen Chao. **/
package com.minierp.view;

import com.minierp.bean.StafferBean;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.Region;
import org.springframework.web.servlet.view.document.AbstractExcelView;

public class StafferListExcelView extends AbstractExcelView {
	public void buildExcelDocument(Map model, HSSFWorkbook workbook,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		response.reset();
		response.setContentType("APPLICATION/vnd.ms-excel");
		response.setHeader("Content-Disposition",
				"attachment;filename=\"StafferList.xls\"");
		HSSFFont font = workbook.createFont();
		font.setFontHeightInPoints(10);
		font.setColor(10);
		font.setFontName("黑体");
		font.setBoldweight(700);
		HSSFCellStyle cellStyle = workbook.createCellStyle();
		cellStyle.setFont(font);
		cellStyle.setAlignment(2);
		cellStyle.setBorderBottom(1);
		cellStyle.setWrapText(true);
		cellStyle.setFillForegroundColor(22);
		cellStyle.setFillPattern(1);
		HSSFSheet sheet = workbook.createSheet("list");
		HSSFRow r = sheet.createRow(0);
		HSSFCell c = r.createCell(0);
		r.createCell(1);
		r.createCell(2);
		r.createCell(3);
		r.createCell(4);
		r.createCell(5);
		c.setCellValue(new HSSFRichTextString("在职人数："
				+ model.get("enabledCount").toString() + " 离职人数："
				+ model.get("unenabledCount").toString()));
		sheet.addMergedRegion(new Region(0, 0, 0, 5));
		r = sheet.createRow(1);
		r.createCell(0).setCellValue(new HSSFRichTextString("部门"));
		r.createCell(1).setCellValue(new HSSFRichTextString("姓名"));
		r.createCell(2).setCellValue(new HSSFRichTextString("职位"));
		r.createCell(3).setCellValue(new HSSFRichTextString("上级"));
		r.createCell(4).setCellValue(new HSSFRichTextString("入职日期"));
		r.createCell(5).setCellValue(new HSSFRichTextString("状态"));
		List list = (List) model.get("stafferList");
		SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");

		for (int os = 0; os < list.size(); ++os) {
			StafferBean bean = (StafferBean) list.get(os);
			String possie = "";
			String superiorName = "";
			String inDateStr = "";
			String status = "";
			if (bean.getStaffer().getPossie() != null) {
				possie = bean.getStaffer().getPossie();
			}

			if (bean.getSuperiorName() != null) {
				superiorName = bean.getSuperiorName();
			}

			if (bean.getStaffer().getInDate() != null) {
				inDateStr = sf.format(bean.getStaffer().getInDate());
			}

			if (bean.getStaffer().getEnabled().equals("Y")) {
				status = "在职";
			} else if (bean.getStaffer().getEnabled().equals("T")) {
				status = "试用";
			} else {
				status = "离职";
			}

			r = sheet.createRow(os + 2);
			r.createCell(0).setCellValue(
					new HSSFRichTextString(bean.getDepName()));
			r.createCell(1).setCellValue(
					new HSSFRichTextString(bean.getStaffer().getStafferName()));
			r.createCell(2).setCellValue(new HSSFRichTextString(possie));
			r.createCell(3).setCellValue(new HSSFRichTextString(superiorName));
			r.createCell(4).setCellValue(new HSSFRichTextString(inDateStr));
			r.createCell(5).setCellValue(new HSSFRichTextString(status));
		}

		ServletOutputStream arg17 = response.getOutputStream();
		workbook.write(arg17);
		arg17.flush();
		arg17.close();
	}
}